<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of AlunoControllerclass
 *
 * @author dot
 */

class AlunoController {

    // Para fazer os métodos desta classe vide métodos
    // da classe AdminController.


 public function buscarAluno($key)    {
        // inicia transação com o banco
        TTransaction::open('mysql');
        TTransaction::setLogger(new TLoggerTXT('log.txt'));
        // instancia um repositório para Cliente
        $repository = new TRepository('Aluno');

        // cria um critério de seleção de dados
       $criteria = new TCriteria;

        // ordena pelo campo id
        $criteria->setProperty('order', 'id');

        // filtra
        $criteria->add(new TFilter('id', '=', "$key"));
        // carrega os produtos que satisfazem o critério
        $alunos = $repository->load($criteria);
        TTransaction::close();
        return $alunos[0];
    }

 public function updateAluno($aluno)    {
        // inicia transação com o banco
        // o metodo open checa se já existe uma conexão aberta
        // e somente se não houver, ele abre uma.
        TTransaction::open('mysql');
        TTransaction::setLogger(new TLoggerTXT('log.txt'));
        // armazena o objeto
        // o metodo store se encarrega de fazer o insert na tabela
        // disciplina
        $aluno->store();
        //o close é necessario por conta do commit da transação
        TTransaction::close();
    }

public function buscarDiarioAluno($key)    {
        // inicia transação com o banco
        TTransaction::open('mysql');
        TTransaction::setLogger(new TLoggerTXT('log.txt'));
        // instancia um repositório para Cliente
        $repository = new TRepository('DiarioDeClasse');

        // cria um critério de seleção de dados
       $criteria = new TCriteria;

        // ordena pelo campo id
        $criteria->setProperty('order', 'FK_ID_turma');

        // filtra
        $criteria->add(new TFilter('FK_ID_aluno', '=', "$key"));
        // carrega os produtos que satisfazem o critério
        $diarios = $repository->load($criteria);
        TTransaction::close();
        return $diarios;
    }

public function buscarDisciplina($key)    {
        // inicia transação com o banco
        TTransaction::open('mysql');
        TTransaction::setLogger(new TLoggerTXT('log.txt'));
        // instancia um repositório para Cliente
        $repository = new TRepository('Disciplina');

        // cria um critério de seleção de dados
       $criteria = new TCriteria;

        // ordena pelo campo id
        $criteria->setProperty('order', 'id');

        // filtra
        $criteria->add(new TFilter('id', '=', "$key"));
        // carrega os produtos que satisfazem o critério
        $diarios = $repository->load($criteria);
        TTransaction::close();
        return $diarios[0];
    }

public function buscarSMS($key1,$key2,$key3)    {
        // inicia transação com o banco
        TTransaction::open('mysql');
        TTransaction::setLogger(new TLoggerTXT('log.txt'));
        // instancia um repositório para Cliente
        $repository = new TRepository('SMS');

        // cria um critério de seleção de dados
       $criteria = new TCriteria;

        // ordena pelo campo id
        $criteria->setProperty('order', 'data_envio');

        // filtra
        $criteria->add(new TFilter('FK_ID_aluno', '=', "$key1"));
        $criteria->add(new TFilter('FK_ID_aluno', 'IS', NULL),'OR ');
        $criteria->add(new TFilter('FK_ID_disciplina', '=', "$key2"));
        $criteria->add(new TFilter('FK_ID_turma', '=', "$key3"));
        // carrega os produtos que satisfazem o critério
        $diarios = $repository->load($criteria);
        TTransaction::close();
        return $diarios;
    }

}

?>
